package cn.iocoder.yudao.module.system.dal.dataobject.a_audio_and_video;

import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;

import java.time.LocalDateTime;

/**
 * 稿件管理-音视频 DO
 *
 * @author zyk
 */
@TableName(value = "gj_audio_and_video", autoResultMap = true) // 由于 SQL Server 的 system_user 是关键字，所以使用 system_users
@KeySequence("gj_audio_and_video_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class AudioAndVideoDO extends BaseDO {

    @TableId
    private Long id; // 图片id

    @TableField
    private String title; // 名称

    @TableField
    private String introduction; // 简介

    @TableField
    private Integer type; // 类型0：视频、1：音频

    @TableField
    private String videoResolution; // 分辨率

    @TableField
    private String videoCoverUrl; // 封面地址

    @TableField
    private String suffix; // 后缀

    @TableField
    private String duration; // 音视频时长（毫秒）

    @TableField
    private String createUserId; // 创建人

    @TableField
    private String createUserName; // 创建人名称

    @TableField
    private Integer version; // 版本号

    @TableField
    private String url; // 文件存储地址

    @TableField
    private String fileName; // 文件名称

    @TableField
    private LocalDateTime shootingTime; // 拍摄时间

    @TableField
    private String category; // 类别

    @TableField
    private String source; // 来源

    @TableField
    private Integer reviewStatus; // 审核状态

    @TableField
    private Integer transcoderStatus; // 转码状态 0未转码 1转码中 10已转码 -1转码失败

    @TableField
    private String transcoderUrl; // 转码URL

    @TableField
    private String isShare; // 共享状态

    @TableField
    private String isPush; // 推送状态

    @TableField
    private String qukanUrl; // 趣看文件存储地址

    @TableField
    private String qukanVideoCoverUrl; // 趣看封面视频地址

    @TableField
    private Integer extractStatus; // 提取状态 1提取中 10提取成功 -1提取失败 0未提取

    @TableField
    private String captions; // 字幕

    @TableField
    private String audioCutter; // 音频剪辑url

    @TableField
    private String mark; // 标记

    @TableField
    private String keyword; // 关键词

    @TableField
    private String ext; // 格式

    @TableField
    private String fileSize; // 文件大小

    @TableField
    private String relativePath; // 文件相对路径

    @TableField
    private String absolutePath; // 文件绝对路径

    @TableField
    private String author; // 作者

    /**
     * 音视频统计下载次数
     */
    @TableField
    private Integer audioAndVideoDownloadNum;
}
